﻿using HK.Core.GUIEx.Protocol.Usage;

namespace HK.Core.GUIEx.Usage
{
    
    /// <summary>
    /// Usage - 基类
    /// </summary>
    public abstract class GUIUsageAttribute : System.Attribute, IGUIUsageAttribute
    {

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="iCaption">标题</param>
        /// <param name="iIcon">Icon</param>
        /// <param name="iTips">描述</param>
        /// <param name="iPropertyKey">PropertyKey</param>
        protected GUIUsageAttribute(string iCaption, string iIcon, string iTips, string iPropertyKey)
        {
            Caption = iCaption;
            Icon = iIcon;
            Tips = iTips;
            PropertyKey = iPropertyKey;
        }
        
        /// <summary>
        /// 保护构造函数
        /// </summary>
        protected GUIUsageAttribute() {}
        
        /// <summary>
        /// 标题
        /// </summary>
        public string Caption { get; protected set; } = null;
        
        /// <summary>
        /// Icon
        /// </summary>
        public string Icon { get; protected set; } = null;
        
        /// <summary>
        /// Tips
        /// </summary>
        public string Tips { get; protected set; } = null;
        
        /// <summary>
        /// Property Key
        /// </summary>
        public string PropertyKey { get; protected set; } = null;
    }
}